/**
 * 扑克牌类
 * 用于表示三国杀游戏中的卡牌
 */
class Poker {
    // 私有变量
    id;        // 当前牌的id
    count;     // 当前牌的点数
    color;     // 当前牌的花色
    name;      // 当前牌的名字
    type;      // 当前牌的类型
    form;      // 当前牌的形态
    to_count;  // 更改后牌的点数
    to_color;  // 更改后牌的花色

    /**
     * 构造函数
     * @param {number} id - 牌的id
     * @param {number} count - 牌的点数
     * @param {number} color - 牌的花色
     * @param {string} name - 牌的名字
     * @param {string} type - 牌的类型
     */
    
    constructor(id, count, color, name, type) {
        this.id = id;
        this.count = count;
        this.color = color;
        this.name = name;
        this.type = type;
        // 变更后的属性（可选）
        this.to_count = null; // 更改后牌的点数
        this.to_color = null; // 更改后牌的花色
        // 牌的形态：火/雷/默认空
        this.form = '';
        if (typeof name === 'string') {
            if (name.includes('火')) this.form = '火';
            else if (name.includes('雷') || name === '闪电') this.form = '雷';
        }
    }
}
export default Poker;